﻿Public Class frmEstadoProceso

    Public modeForm As Integer
    Public frmParent As frmMEstadoProceso

    Private Sub frmEstadoProceso_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        Select Case Me.modeForm
            Case 1 'Nuevo
                frmParent.tsbNuevo.Enabled = True
            Case 2 'Consultar
                frmParent.tsbConsultar.Enabled = True
            Case 3 'Editar
                frmParent.tsbEditar.Enabled = True
        End Select
    End Sub

    Private Sub frmEstadoProceso_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
        Me.btnCancelar.Text = "Cancelar"
        Me.btnGuardar.Visible = True

        Select Case Me.modeForm
            Case 1 'Nuevo
                Me.txtCodigo.Text = ""
                Me.txtNombre.Text = ""
                Me.txtDescripcion.Text = ""

            Case 2 'Consultar
                Me.txtCodigo.Text = Me.frmParent.arrConsulta(0)

                Me.btnCancelar.Text = "Continuar"
                Me.btnGuardar.Visible = False

            Case 3 'Editar
                Dim dstRecord As New DataSet
                Dim strId As String = Me.frmParent.dgvEstadoProceso.Rows(Me.frmParent.dgvEstadoProceso.CurrentRow.Index).Cells(0).Value.ToString

                dstRecord.Tables.Add("EstadoProceso")
                mdlCRUD.loadRecord(dstRecord, "EstadoProceso", "estadoproceso", "estadoproceso_id = '" & strId & "'", Nothing)

                Dim arrRow As Array
                arrRow = dstRecord.Tables("EstadoProceso").Rows(0).ItemArray.ToArray

                Me.lblEdCodigo.Text = arrRow(0).ToString
                Me.txtCodigo.Text = arrRow(0).ToString
                Me.txtNombre.Text = arrRow(1).ToString
                Me.txtDescripcion.Text = arrRow(2).ToString

                Select Case (arrRow(3).ToString)
                    Case "1" : Me.rbTipo1.Checked = True
                    Case "2" : Me.rbTipo2.Checked = True
                    Case "3" : Me.rbTipo3.Checked = True
                    Case "4" : Me.rbTipo4.Checked = True
                    Case "5" : Me.rbTipo5.Checked = True
                End Select

        End Select
    End Sub

    Private Sub btnGuardar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnGuardar.Click
        Select Case Me.modeForm
            Case 1 'Nuevo
                Dim tipo As Integer = 0
                IIf(Me.rbTipo1.Checked = True, tipo = 1, tipo = 0)
                IIf(Me.rbTipo2.Checked = True, tipo = 2, tipo = 0)
                IIf(Me.rbTipo3.Checked = True, tipo = 3, tipo = 0)
                IIf(Me.rbTipo4.Checked = True, tipo = 4, tipo = 0)
                IIf(Me.rbTipo5.Checked = True, tipo = 5, tipo = 0)
                Dim arrCampos() As String = {"estadoproceso_id", "estadoproceso_nombre", "estadoproceso_descri", "estadoproceso_tipo"}
                Dim arrValor() As String = {Trim(Me.txtCodigo.Text), Trim(Me.txtNombre.Text), Trim(Me.txtDescripcion.Text), tipo}

                mdlCRUD.insRecord("estadoproceso", arrCampos, arrValor)

            Case 2 'Consultar

            Case 3 'Editar
                Dim tipo As Integer = 0
                IIf(Me.rbTipo1.Checked = True, tipo = 1, tipo = 0)
                IIf(Me.rbTipo2.Checked = True, tipo = 2, tipo = 0)
                IIf(Me.rbTipo3.Checked = True, tipo = 3, tipo = 0)
                IIf(Me.rbTipo4.Checked = True, tipo = 4, tipo = 0)
                IIf(Me.rbTipo5.Checked = True, tipo = 5, tipo = 0)
                Dim arrParametro() As String = {"estadoproceso_id = " & IIf(Trim(Me.txtCodigo.Text) <> "", "'" & Me.txtCodigo.Text & "'", "null"),
                                                "estadoproceso_nombre = " & IIf(Trim(Me.txtNombre.Text) <> "", "'" & Me.txtNombre.Text & "'", "null"),
                                                "estadoproceso_descri = " & IIf(Trim(Me.txtDescripcion.Text) <> "", "'" & Me.txtDescripcion.Text & "'", "null"),
                                                "estadoproceso_tipo = " & IIf(tipo <> 0, "'" & tipo & "'", "null")}

                Dim strCondicion As String = "estadoproceso_id = " & IIf(Me.lblEdCodigo.Text <> "", "'" & Me.lblEdCodigo.Text & "'", "null")

                mdlCRUD.updRecord("estadoproceso", arrParametro, strCondicion)
        End Select

        If (mdlCRUD.blnFlag = True) Then
            Me.frmParent.refreshList()
            Me.Close()
        End If

    End Sub

    Private Sub btnCancelar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnCancelar.Click
        Select Case Me.modeForm
            Case 1 'Nuevo

            Case 2 'Consultar
                Me.frmParent.arrConsulta(0) = Trim(Me.txtCodigo.Text)
                Me.frmParent.arrConsulta(1) = Trim(Me.txtNombre.Text)
                Me.frmParent.arrConsulta(2) = Trim(Me.txtDescripcion.Text)

            Case 3 'Editar

        End Select


        Me.Close()
    End Sub

End Class